Design space exploration with A Stream Compiler
نویسندگان
چکیده
We consider speeding up general-purpose applications with hardware accelerators. Traditionally hardware accelerators are tediously hand-crafted to achieve top performance. ASC (A Stream Compiler) simplifies exploration of hardware accelerators by transforming the hardware design task into a software design process using only ’gcc’ and ’make’ to obtain a hardware netlist. ASC enables programmers to customize hardware accelerators at three levels of abstraction: the architecture level, the functional block level, and the bit level. All three customizations are based on one uniform representation: a single C++ program with custom types and operators for each level of abstraction. This representation allows ASC users to express and reason about the design space, extract parallelism at each level and quickly evaluate different design choices. In addition, since the user has full control over each gate-level resource in the entire design, ASC accelerator performance can always be equal to or better than hand-crafted designs, usually with much less effort. We present several ASC benchmarks, including wavelet compression and Kasumi encryption.
منابع مشابه
Automating Optimized Table-with-Polynomial Function Evaluation for FPGAs
Function evaluation is at the core of many compute-intensive applications which perform well on reconfigurable platforms. Yet, in order to implement function evaluation efficiently, the FPGA programmer has to choose between a multitude of function evaluation methods such as table lookup, polynomial approximation, or table lookup combined with polynomial approximation. In this paper, we present ...
متن کاملSimulation-driven Software Performance Estimation for Fast Design Space Exploration
In this paper, we propose a novel performance estimation method of software function blocks considering the effect of architecture variation, compiler optimization, and data dependent behavior. In the proposed design space exploration framework, a system behavior is specified as a composition of function blocks and the execution order of the blocks is known a priori. We run the entire applicati...
متن کاملDesign Space Exploration for a Custom VLIW Architecture
The increasing complexity of algorithms and embedded systems constraints has lead to advanced design methodologies. Hardware/Software co-design methodology has made it possible to find an optimal architecture for a given application by exploring the design space before building a real hardware prototype. The Design Space Exploration is basically exploring the various processor architectures in ...
متن کامل